/* themeConfigProp */
export interface ThemeConfigProps {
	layout: string
	primary: string
	isDark: boolean
	isGrey: boolean
	isCollapse: boolean
	isWeak: boolean
	breadcrumb: boolean
	breadcrumbIcon: boolean
	tabs: boolean
	tabsIcon: boolean
	tabsType: string
	footer: boolean
	maximize: boolean
	activeStyle: string
	menuRadius: number
	sideExpandWidth: number
	headerHeight: number
	assemblySize: boolean
	language: boolean
	searchMenu: boolean
	message: boolean
	fullScreen: boolean
	sideLogo: string
	systemTitle: string
	footerText: string
	footerLink: string
	sideBgRevert: boolean
	headerBgRevert: boolean
	animateMode: string
}

/* GlobalState */
export interface GlobalState {
	token: string
	userInfo: any
	assemblySize: string
	language: string
	themeConfig: ThemeConfigProps
}

/* tabsMenuProps */
export interface TabsMenuProps {
	icon: string
	title: string
	path: string
	query: {}
	params: {}
	close: boolean
}

/* TabsState */
export interface TabsState {
	tabsMenuList: TabsMenuProps[]
}

/* AuthState */
export interface AuthState {
	authButtonList: {
		[key: string]: {
			[key: string]: boolean
		}
	}
	authMenuList: Menu.MenuOptions[]
}
